1. Field of the Invention
The present invention relates to the field of angular position indicators.
2. Background Art
Many applications require precise information regarding the angular position of a rotating shaft. For example, in automotive applications, engine operations are synchronized with the angular position of the cam shaft or crank shaft. In an internal combustion engine, certain engine operations, such as the firing of spark plugs, the opening and closing of engine valves, injection of fuel, etc., are controlled to maximize fuel efficiency, minimize exhaust emissions, and increase engine perfomance. This control is provided by synchronizing these operations with the angular position of a rotating crankshaft and/or camshaft.
Many methods are utilized to translate the rotation of a shaft into electrical signals. In one application a marked rotor, formed as a portion of a shaft or mechanically coupled to a shaft, rotates as the shaft rotates. A sensor, positioned near the spinning rotor, produces an electronic pulse signal each time a mark on the rotor passes through its sensing field. By counting pulses in the sensor's output waveform, the angular displacement of the rotor is determined at a resolution inversely proportional to the interval between marks.
Because of practical limitations on the construction of a rotor and the sensitivity of sensors, only a finite number of marks may be positioned on the rotor. This limitation limits the resolution of angular displacement measurements. For example, in some prior art applications, angular displacement can only be determined in 10.degree. increments.
Many applications require angular displacement information at resolutions finer than those attainable by simply detecting the passage of marks on a spinning rotor. Some prior art angular position indicators interpolate between pulses in the sensor output waveform. These prior art schemes estimate future pulse intervals based upon past measured pulse intervals. By dividing the interval between sensor pulses into finer partitions, the resolution of angular displacement information is increased.
One prior art method of interpolating between sensor pulses is to trigger a counter each time a sensor pulse occurs. The counter outputs pulses at a frequency locked at a fixed multiple of the sensor pulse frequency. The resulting waveform, comprised of sensor pulses and interpolated pulses, corresponds to angular positions between marks on a rotor with uniform mark spacing. The interpolated pulses provided by the counter are utilized to trigger events.
FIG. 1 illustrates an angular position indicating system utilizing a rotor with uniform mark spacing. A rotating shaft 101 is coupled to a rotor 102. The rotor 102 has eight uniformly-spaced marks (teeth) 103 on its perimeter. The sensor 104 is coupled to angular position indicator logic 105 and synchronization circuitry 106. Angular position indicator logic 105 is also coupled to synchronization circuitry 106.
As each of the teeth 103 passes through a specified region, it is detected by a sensor 104. The sensor 104 outputs a pulse signal each time it detects a tooth. The angular position indicator logic 105 receives the pulse signal from the sensor 104 and interpolates pulses between the sensor pulses to produce angular displacement information with increased resolution. The synchronization circuitry 106 monitors the output of the sensor 104 to verify that particular angular positions on the rotor correspond to particular pulses in the sensor output waveform. The angular position indicator logic 105 uses the output of the synchronization circuitry 106 to maintain synchronization with the rotating rotor.
FIG. 2 illustrates an angular position indicating system utilizing a rotor with non-uniform mark spacing. In FIG. 2, a rotating shaft 101 is coupled to a rotor 202 such that the rotor spins as the shaft rotates. The rotor 202 has a number of groups of marks (teeth) irregularly spaced about the circumference of the rotor. The sensor 104 is coupled to the angular position indicator logic 105 and the synchronization circuitry 106. The angular position indicator logic 105 is coupled to the synchronization circuitry 106.
When the rotor with uniform mark spacing 102 rotates at a constant velocity, the sensor 104 produces a constant frequency pulse waveform. FIG. 3A illustrates a constant frequency pulse waveform. Prior art interpolating circuits output a constant frequency interpolated pulse waveform when provided with a constant frequency sensor pulse waveform as input. FIG. 3B illustrates an interpolation of the pulse waveform of FIG. 3A. Four interpolated pulses (0-3) are produced per sensor pulse. The interpolated pulses correspond to the angular displacement of the rotor 102 when it rotates at a constant velocity.
Prior art angular position indication systems fail to accurately interpolate the angular displacement of a rotor with non-uniform mark spacing rotating at a constant velocity. When the rotor with non-uniform mark spacing 202 rotates at a constant velocity, the sensor 104 produces a variable-frequency pulse waveform. FIG. 4A illustrates a variable-frequency pulse waveform. The pulse waveform of FIG. 4A is comprised of seven pulses 401-407. The intervals after pulses 403 and 404 are half the duration of the intervals after pulses 401, 402, 405, 406, and 407.
Prior art interpolating circuits output a variable-frequency interpolated pulse waveform when provided with a variable-frequency sensor pulse. waveform as input. FIG. 4B illustrates an interpolation of the pulse waveform of FIG. 4A. Four interpolated pulses are produced after each of sensor pulses 401 and 402. Only two interpolated pulses 408 and 409 are produced after sensor pulse 403. Four interpolated pulses 410-413 are produced after sensor pulse 404. Eight interpolated pulses 414-421 are produced after sensor pulse 405. Four interpolated pulses are produced after each of sensor pulses 406 and 407. The interpolated pulse waveform of FIG. 4B fails to correspond to the angular displacement of a rotor with non-uniform mark spacing rotating at a constant velocity. FIG. 4B illustrates the inability of the prior art to properly interpolate the angular displacement of a rotor with non-uniform mark spacing.
In most applications, the rotating shaft accelerates and decelerates during normal operation. Because interpolation methods predict future pulse intervals based upon past intervals, changes in angular velocity are not reliably predicted. When sensor pulses are "early" due to acceleration of the shaft, interpolators resynchronize interpolated pulse production immediately. Interpolated pulse production for the preceding pulse interval is ceased and pulse production for the next pulse interval is commenced. Thus, the number of interpolated pulses produced per sensor pulse interval varies during periods of acceleration.
FIG. 5A, similar to FIG. 3A, illustrates a constant frequency pulse waveform. FIG. 5B illustrates an interpolation of the pulse waveform of FIG. 5A. Eight interpolated pulses (0-7) are produced per sensor pulse. The interpolated pulses correspond to the angular displacement of a rotor with uniform mark spacing 102 rotating at a constant velocity.
FIG. 5C illustrates an accelerated pulse waveform corresponding to the acceleration of a rotor with uniform mark spacing 102. Initially, the rotor 102 rotates at the same velocity as in FIG. 5A. The interval between pulses 501 and 502 has the same duration as intervals in waveform 5A. After pulse 502, the rotor suddenly accelerates to twice its original velocity. The two successive intervals between pulses 502 and 503 and between pulses 503 and 504 are half the duration of the interval between pulses 501 and 502.
FIG. 5D illustrates a typical interpolation of the sensor pulse waveform of FIG. 5C. Between pulses 501 and 502, eight interpolated pulses (0-7) are properly produced. Between pulses 502 and 503, only four interpolated pulses (0-3) are produced. The rotor 102 has traveled the same angular distance during both sensor pulse intervals. After pulse 503, the interpolator adjusts the frequency of its output. Between pulses 503 and 504, eight interpolated pulses (0-7) are properly produced. The interpolator failed to output eight interpolated pulses between sensor pulses 502 and 503. Four pulses were thus "dropped" from the interpolated pulse waveform.
One solution to the problems associated with dropped interpolated pulses is to "stuff" extra pulses into the interpolated pulse waveform when too few interpolated pulses are produced. Correction means are utilized to rapidly insert (stuff) pulses into the output waveform corresponding to the number of interpolated pulses that were dropped due to the acceleration of the rotor.
Often during periods of acceleration, several pulses are inserted by the correction means into the output waveform. The next set of interpolated pulses often arrive before the correction means has stuffed all of the dropped interpolated pulses from the previous sensor pulse interval. More pulses, corresponding to the interpolated pulses that arrived during the stuffing process, need to be stuffed into the output waveform. Greater acceleration rates increase the number of interpolated pulses that arrive during the correction periods.
The prior art pulse stuffing process is illustrated in FIG. 5E. The prior art detects the shortened pulse interval between pulses 502 and 503 of FIG. 5C. Since the interpolator only produced four interpolated pulses during this interval (0-3), four pulses need to be stuffed into the output waveform. The prior art correction means stuffs four pulses 507-510 into the output waveform. Since the negative edge of sensor pulse 503 marks the end of the sensor pulse interval, the prior art stuffs one additional pulse 509 corresponding to interpolated pulse 505. The prior art continues counting interpolated pulses, starting with pulse 511.
As depicted in FIGS. 5D and 5E, the prior art fails to stuff an additional pulse corresponding to interpolated pulse 506 which occurred during the stuffing process. During the interval between sensor pulses 503 and 504, the prior art is out of synchronization with the interpolator and thus out of synchronization with the rotor. The prior art does not detect the error until the negative edge of the next sensor pulse 504. The prior art remedies the error by stuffing additional pulses 512 and 513.
In accord with engineering custom, designers usually specify the angular displacement of a shaft in engineering units. (i.e. degrees) In prior art schemes, angular displacements, originally specified in engineering units, are converted to non-engineering units unique to the angular position indicator. Often, complex calculations are required to translate between engineering units and non-engineering units.
Different applications often employ different rotor and sensor configurations. Conventional angular position indicators require significant redesign for each particular application. Many applications utilize rotors with non-uniform mark spacing that are incompatible with prior art angular position indicators.
One prior art scheme described in Long, et al., U.S. Pat. No. 4,494,509, utilizes an analog phase locked loop to estimate shaft angular velocity and interpolate shaft angular displacement. This scheme only produces angular position information in non-engineering units. The phase locked loop of Long et al. is incompatible with a rotor with non-uniform mark spacing. Long, et al. neither utilizes nor teaches the utilization of rotors with non-uniform mark spacing.
Zerrien, Jr. et al., U.S. Pat. No. 4,814,704, describes an angular position counter which poorly estimates the angular displacement of a rotor with non-uniform mark spacing. This invention attempts to interpolate a constant number of uniformly-spaced angular positions between each pair of rotor marks. On a rotor with uniform mark spacing, the interpolated angular positions correspond to the angular displacement of the shaft. On a rotor with non-uniform mark spacing, the interpolated angular positions do not correspond to the angular displacement of the shaft. Further, this invention confusingly provides angular displacement information in non-engineering units. Zerrien, Jr. et al. teaches away from an accurate determination of the angular displacement of a rotor with non-uniform mark spacing.
Hirka et al., U.S. Pat. No. 5,041,979, describes an angular position counter which poorly estimates the angular displacement of a rotor with non-uniform mark spacing. This invention attempts to interpolate a constant number of uniformly-spaced angular positions between each pair of rotor marks. On a rotor with uniform mark spacing, the interpolated angular positions correspond to the angular displacement of the shaft. On a rotor with non-uniform mark spacing, the interpolated angular positions do not correspond to the angular displacement of the shaft. Further, this invention confusingly provides angular displacement information in non-engineering units. Hirka et al. teaches away from an accurate determination of the angular displacement of a rotor with non-uniform mark spacing.